using System;
using System.Collections.Generic;
using System.Text;

namespace SharpMud.Terminal
{
    /// <summary>
    /// Defines colors that can be displayed on a standard terminal
    /// </summary>
	public enum TerminalColor
	{
        [RGBValue(HueIntensity.None, HueIntensity.None, HueIntensity.None)]
        Black = System.ConsoleColor.Black,

        [RGBValue(HueIntensity.None, HueIntensity.None, HueIntensity.Highest)]
        Blue = System.ConsoleColor.Blue,

        [RGBValue(HueIntensity.None,HueIntensity.Highest,HueIntensity.Highest)]
        Cyan = System.ConsoleColor.Cyan,

        [RGBValue(HueIntensity.None,HueIntensity.None,HueIntensity.Medium)]
        DarkBlue = System.ConsoleColor.DarkBlue,

        [RGBValue(HueIntensity.None,HueIntensity.Medium,HueIntensity.Medium)]
        DarkCyan = System.ConsoleColor.DarkCyan,

        [RGBValue(HueIntensity.Medium,HueIntensity.Medium,HueIntensity.Medium)]
        DarkGray = System.ConsoleColor.DarkGray,

        [RGBValue(HueIntensity.None, HueIntensity.Medium, HueIntensity.None)]
        DarkGreen = System.ConsoleColor.DarkGreen,

        [RGBValue(HueIntensity.Medium,HueIntensity.None,HueIntensity.Medium)]
        DarkMagenta = System.ConsoleColor.DarkMagenta,

        [RGBValue(HueIntensity.Medium,HueIntensity.None,HueIntensity.None)]
        DarkRed     = System.ConsoleColor.DarkRed,

        [RGBValue(HueIntensity.Medium,HueIntensity.Medium,HueIntensity.None)]
        DarkYellow = System.ConsoleColor.DarkYellow,

        [RGBValue(HueIntensity.High,HueIntensity.High,HueIntensity.High)]
        Gray = System.ConsoleColor.Gray,

        [RGBValue(HueIntensity.None, HueIntensity.Highest, HueIntensity.None)]
        Green = System.ConsoleColor.Green,

        [RGBValue(HueIntensity.Highest, HueIntensity.None, HueIntensity.Highest)]
        Magenta = System.ConsoleColor.Magenta,

        [RGBValue(HueIntensity.Highest, HueIntensity.None, HueIntensity.None)]
        Red = System.ConsoleColor.Red,

        [RGBValue(HueIntensity.Highest, HueIntensity.Highest, HueIntensity.Highest)]
        White = System.ConsoleColor.White,

        [RGBValue(HueIntensity.Highest, HueIntensity.Highest, HueIntensity.None)]
        Yellow = System.ConsoleColor.Yellow
	}
}
